package me.shurufa.holder;

import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;


import butterknife.Bind;
import butterknife.ButterKnife;
import me.shurufa.R;
import me.shurufa.activities.DigestActivity;
import me.shurufa.activities.MyDigestActivity;
import me.shurufa.model.Catalog;
import me.shurufa.utils.Constants;
import me.shurufa.utils.Global;

/**
 * 目录的ViewHolder
 * 目前分为三种情况
 * 1.从发现页面查看 书本信息->所有书摘笔记->目录页->点击CatalogViewHolder->此时打开的是所有用户的书摘列表
 * 2.从用户页面查看 所有书摘笔记->目录页->点击CatalogViewHolder->此时打开的是针对某一用户对某一本书的书摘列表
 * 1与2其实是相同的 只是传递的userId是否等于0
 * 3.从书架页面查看 书本信息->所有书摘笔记->目录页->点击CatalogViewHolder->此时打开的是我的书摘列表
 * 3与1，2的不同之处在于userId==currentUid 所以在点击前需要进行判断 用以打开不同的页面
 *
 * 实际上这是可以复用的 但是不知道以后还要改成什么样，所以都分开写了
 *
 * @FileName: me.shurufa.holder.CatalogViewHolder.java
 * @author: kHRYSTAL
 * @email: 723526676@qq.com
 * @date: 2016-02-01 16:04
 */
public class CatalogViewHolder extends BaseViewHolder{
    @Bind(R.id.catalog_item)
    RelativeLayout catalogItem;
    @Bind(R.id.catalog_title)
    TextView catalogTitle;
    @Bind(R.id.catalog_num)
    TextView catalogNum;

    private Context mContext;
    private Catalog mCatalog;
    private long userId;

    public CatalogViewHolder(View itemView, Object parent,long userId) {
        this(itemView,parent);
        this.userId = userId;
    }


    public CatalogViewHolder(View itemView, Object parent) {
        super(itemView, parent);
        mContext = itemView.getContext();
        ButterKnife.bind(this, itemView);
        addOnClickListener(catalogItem);
    }

    public void bind(Catalog catalog) {
        if (catalog == null)
            return;
        mCatalog = catalog;
        if (!TextUtils.isEmpty(catalog.title))
            catalogTitle.setText(catalog.title);
        else
            catalogTitle.setText("");
        catalogNum.setText(String.format(mContext.getString(R.string.catalog_num),catalog.excerpt_total));
    }

    @Override
    public void onClick(View v) {
        super.onClick(v);
        Intent intent = null;
        switch (v.getId()) {
//            这里不复用了 判断uid打开我的书摘
            case R.id.catalog_item:
                if (Global.getCurrentUid()!=userId) {
                    intent = new Intent(mContext, DigestActivity.class);
                    intent.putExtra(Constants.ARG_MENU_ID, mCatalog.id);
                    intent.putExtra(Constants.ARG_MENU_TITLE, mCatalog.title);
                    intent.putExtra(Constants.ARG_BOOK_ID, mCatalog.book_id);
                    intent.putExtra(Constants.ARG_USER_ID, userId);
                    mContext.startActivity(intent);
                }else {
                    intent = new Intent(mContext, MyDigestActivity.class);
                    intent.putExtra(Constants.ARG_MENU_ID,mCatalog.id);
                    intent.putExtra(Constants.ARG_MENU_TITLE,mCatalog.title);
                    intent.putExtra(Constants.ARG_BOOK_ID,mCatalog.book_id);
                    mContext.startActivity(intent);
                }
                break;
        }
    }
}
